Enterprises have highly demanding computing environments in terms of security, reliability, and performance. To satisfy their needs requires computing systems that are secure, adaptable, fast, and reliable. This includes both enterprise-hosted computing systems as well as cloud computing systems, and often requires integration across organizations and computing platforms within an enterprise. Such hosted systems may require use of various software that supports workloads that are critical to a business, including workloads executing on commodity Windows-based systems, Linux-based systems, and legacy systems that support robust mainframe-type reliability required for enterprise workloads (e.g., transactional databases, etc.) such as Unisys's MCP or OS2200 systems. Such legacy enterprise systems often have different computing requirements as compared to workloads on commodity systems. For example, in an MCP-based system, clients tend to not halt load for months or years except when a fatal dump, hardware failure, of other major system event occurs. Furthermore, should a major system event occur, it is extremely rare for data to be lost in such legacy systems, because transactions can be recovered and restarted without data loss.
Due to the variety of types of workloads required by an organization, and flexibility afforded by such solutions, virtualization software is often a popular solution. In such arrangements, virtualization software, such as that provided by VMWare and Microsoft, can be installed on a partition of a computing system, and represent a monolithic virtualization software system that hosts each virtualized system. Such systems typically require dedicated system resources, and present limited ability to migrate virtual systems across platforms without first shutting down the hosted applications, moving the virtualization software and hosted system, and restarting that entire virtualized software stack on a second platform.
Even if such virtualization systems can be used, there are additional disadvantages. For example, virtualization software is typically written to be hosted by a particular type of platform and within a particular operating system (e.g., within Windows, in the case of Microsoft's Azure). Even then, if the two platforms have different arrangements (e.g., memory architectures, I/O device types, or other differences) there can also be difficulties in restarting the hosted system on the new platform. Still further, due to the extent that virtualization software is required to translate each operation of the hosted system to an operation that can be performed on a host system, virtualization software can introduce large computational inefficiencies, both in cases of a hardware or architecture mismatch between the host computing system and the hosted system and when the host computing system and hosted system operate using similar architectures. Still further, there may be limitations on the types of computing architectures that can be hosted by such virtualization software, with mainframe computing architectures often neglected.
To address some of these problems, Unisys Corporation of Blue Bell, Pa. has developed a number of solutions to allow mainframe software to be executed on commodity systems in a flexible, fault-tolerant, and secure manner. For example, current systems execute using E-mode code, which provides a translation between MCP instruction sets and underlying commodity architectures. This can be a complex process, because such mainframe software is often based on a stack architecture and has data types and lengths that are different from those of current commodity architectures (e.g., 48 bits rather than 32 bits). Furthermore, MCP systems store data according to different physical disk structure assumptions as compared to commodity systems. These and other reasons lead to substantial “impedance mismatch” due to loss of resources or performance based on the architectural differences between mainframe architectures and commodity processor architectures.
Unisys Corporation has also developed the s-Par virtualization solution that allows for secure partitioning and communication among partitions in a large-scale computing fabric, and which supports hosting of mainframe computing architectures such as Unisys's MCP or OS2200 systems. This solution provides increased flexibility and reliability due to redundancy and monitoring features of specific, special-purpose service partitions usable to perform specific system tasks associated with I/O and other features. However, such systems are generally written in a way that they are tied to specific underlying hardware (e.g., x86 variants) and would require specially-written service partitions to be instantiated across different platforms as well to support hosted workloads.
For interests of improved portability to different computing systems, as well as improved performance due to lower overhead due to translation and/or virtualization, improvements to existing solutions are desired.